package com.webserver.http;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;

/*
*
* 记录所有http协议相关的规定内容
* */
public class HttpContext {
/*
* 所有资源后缀与头信息Content-Type的值得对应关系
* key:资源后缀名
* value:Content-Type头对应的值
* */
    private static Map<String,String> mimeMapping = new HashMap<>();

    static {
        initMimeMapping();
    }

    private static void initMimeMapping(){

        try {
            //创建一个Properties对象
            Properties properties = new Properties();
            //加载对应的propertise文件
            properties.load(
                    HttpContext.class.getResourceAsStream("Web.properties")
            );
            //将加载的文件中每组键值对遍历出来存入mimemapping即可
            properties.forEach(
                    (k,v)-> mimeMapping.put(k.toString(),v.toString())
            );
        } catch (IOException e) {
            e.printStackTrace();
        }

    }
    /*
    * 根据资源后缀名获取头信息Content-Type的值
    * @param ext
    * @return
    * */
    public static String getMimeType(String ext){
        return mimeMapping.get(ext);
    }

}
